[zsh]Terminalでhistoryからの補完[bash]
履歴からコマンド補完
前にこのコマンドつかったけど、どんなオプションつかったんだっけなぁというケースに陥ることが私は多いです。 そんなときは履歴ファイル(私はzshを使用しているので、~/.zsh_history)から探したり、コマンド履歴を延々遡ったリしていたのですが、 コマンドから履歴を検索して補完してくれる方法を見かけたのでご紹介。
環境構築方法
今回使用した動作環境は以下のとおりです。
- OS : MacOS X 10.7.4
- shell : zsh 4.3.11
zshの場合
.zshrcに、次の記述を追加しましょう。
bindkey "^p" history-beginning-search-backward-end bindkey "^n" history-beginning-search-forward-end
記述したらsource ~/.zshrcでロードし直し、補完したいコマンド名を入力してctrl + pを押してみてください。 historyから補完された結果が表示されます。
bashの場合
私は試してないのですが、bashの場合はホームディレクトリの.inputrc(なければ作成)に次の記述をすれば、 矢印キーで補完が効くようになるみたいです。
# ~/.inputrc "\e[A": history-search-backward "\e[B": history-search-forward